package i18n

import (
	"strings"
)

// Language 语言类型
type Language string

const (
	CN Language = "cn" // 中文
	EN Language = "en" // 英文
	VN Language = "vn" // 越南语
)

// Message 多语言消息结构
type Message struct {
	CN string
	EN string
	VN string
}

// Get 根据语言获取内容
func (m Message) Get(lang string) string {

	switch strings.ToUpper(lang) {
	case "EN":
		return m.EN
	case "VN":
		return m.VN
	case "CN":
		return m.CN
	default:
		return m.EN
	}
}

// Messages 消息映射表
var Messages = map[string]Message{
	// 通用消息
	"success": {
		CN: "操作成功",
		EN: "Operation successful",
		VN: "Thao tác thành công",
	},
	"error": {
		CN: "操作失败",
		EN: "Operation failed",
		VN: "Thao tác thất bại",
	},
	"unauthorized": {
		CN: "未授权访问",
		EN: "Unauthorized access",
		VN: "Truy cập trái phép",
	},
	"forbidden": {
		CN: "无权访问",
		EN: "Access forbidden",
		VN: "Không có quyền truy cập",
	},
	"invalid_params": {
		CN: "无效的参数",
		EN: "Invalid parameters",
		VN: "Tham số không hợp lệ",
	},
	"validation_error": {
		CN: "验证失败",
		EN: "Validation failed",
		VN: "Xác thực thất bại",
	},
	"field_required": {
		CN: "字段必填",
		EN: "Field is required",
		VN: "Trường này là bắt buộc",
	},

	// 认证相关消息
	"invalid_auth_format": {
		CN: "无效的认证格式",
		EN: "Invalid authorization header format",
		VN: "Định dạng xác thực không hợp lệ",
	},
	"invalid_token": {
		CN: "无效的令牌",
		EN: "Invalid token",
		VN: "Token không hợp lệ",
	},
	"user_not_found": {
		CN: "用户不存在",
		EN: "User not found",
		VN: "Không tìm thấy người dùng",
	},
	"user_deleted": {
		CN: "该用户账号已被删除",
		EN: "This user account has been deleted",
		VN: "Tài khoản người dùng này đã bị xóa",
	},

	// 基础控制器消息
	"health_check_ok": {
		CN: "服务正常运行",
		EN: "Service is running normally",
		VN: "Dịch vụ đang hoạt động bình thường",
	},
	"welcome_message": {
		CN: "欢迎使用",
		EN: "Welcome",
		VN: "Chào mừng",
	},

	// 光子支付相关消息
	"matrix_account_not_found": {
		CN: "未找到矩阵账户信息",
		EN: "Matrix account information not found",
		VN: "Không tìm thấy thông tin tài khoản ma trận",
	},
	"matrix_account_invalid": {
		CN: "矩阵账户信息格式错误",
		EN: "Invalid matrix account information format",
		VN: "Định dạng thông tin tài khoản ma trận không hợp lệ",
	},
	"card_number_required": {
		CN: "卡号不能为空",
		EN: "Card number cannot be empty",
		VN: "Số thẻ không được để trống",
	},
	"card_id_required": {
		CN: "卡片ID不能为空",
		EN: "Card ID cannot be empty",
		VN: "ID thẻ không được để trống",
	},
	"cardholder_id_required": {
		CN: "持卡人ID不能为空",
		EN: "Cardholder ID cannot be empty",
		VN: "ID người giữ thẻ không được để trống",
	},
	"invalid_request_body": {
		CN: "请求体无效",
		EN: "Invalid request body",
		VN: "Nội dung yêu cầu không hợp lệ",
	},
	"json_format_error": {
		CN: "JSON格式错误",
		EN: "Invalid JSON format",
		VN: "Định dạng JSON không hợp lệ",
	},
	"invalid_amount": {
		CN: "金额必须大于0",
		EN: "Amount must be greater than 0",
		VN: "Số tiền phải lớn hơn 0",
	},
	"invalid_amount_format": {
		CN: "金额格式错误",
		EN: "Invalid amount format",
		VN: "Định dạng số tiền không hợp lệ",
	},
	"transfer_failed": {
		CN: "转账失败",
		EN: "Transfer failed",
		VN: "Chuyển khoản thất bại",
	},
	"update_transfer_amount_failed": {
		CN: "更新总转账金额失败",
		EN: "Failed to update total transfer amount",
		VN: "Cập nhật tổng số tiền chuyển khoản thất bại",
	},

	// 卡片操作相关消息
	"get_card_bin_failed": {
		CN: "获取卡BIN信息失败",
		EN: "Failed to get card BIN information",
		VN: "Không thể lấy thông tin BIN thẻ",
	},
	"get_card_list_failed": {
		CN: "获取卡片列表失败",
		EN: "Failed to get card list",
		VN: "Không thể lấy danh sách thẻ",
	},
	"get_cvv_failed": {
		CN: "获取CVV失败",
		EN: "Failed to get CVV",
		VN: "Không thể lấy CVV",
	},
	"get_card_detail_failed": {
		CN: "获取卡片详情失败",
		EN: "Failed to get card details",
		VN: "Không thể lấy chi tiết thẻ",
	},
	"open_card_failed": {
		CN: "开卡失败",
		EN: "Failed to open card",
		VN: "Không thể mở thẻ",
	},
	"freeze_card_failed": {
		CN: "冻结卡片失败",
		EN: "Failed to freeze card",
		VN: "Không thể đóng băng thẻ",
	},
	"cancel_card_failed": {
		CN: "注销卡片失败",
		EN: "Failed to cancel card",
		VN: "Không thể hủy thẻ",
	},
	"update_card_failed": {
		CN: "更新卡片失败",
		EN: "Failed to update card",
		VN: "Không thể cập nhật thẻ",
	},

	// 账户操作相关消息
	"get_account_balance_failed": {
		CN: "获取账户余额失败",
		EN: "Failed to get account balance",
		VN: "Không thể lấy số dư tài khoản",
	},
	"get_account_list_failed": {
		CN: "获取账户列表失败",
		EN: "Failed to get account list",
		VN: "Không thể lấy danh sách tài khoản",
	},
	"create_matrix_account_failed": {
		CN: "创建matrix账户失败",
		EN: "Failed to create matrix account",
		VN: "Không thể tạo tài khoản ma trận",
	},
	"edit_matrix_account_failed": {
		CN: "编辑matrix账户失败",
		EN: "Failed to edit matrix account",
		VN: "Không thể chỉnh sửa tài khoản ma trận",
	},
	"parse_result_failed": {
		CN: "解析结果失败",
		EN: "Failed to parse result",
		VN: "Không thể phân tích kết quả",
	},

	// 持卡人操作相关消息
	"get_cardholder_list_failed": {
		CN: "获取持卡人列表失败",
		EN: "Failed to get cardholder list",
		VN: "Không thể lấy danh sách người giữ thẻ",
	},
	"add_cardholder_failed": {
		CN: "添加用卡人失败",
		EN: "Failed to add cardholder",
		VN: "Không thể thêm người giữ thẻ",
	},
	"edit_cardholder_failed": {
		CN: "更新用卡人失败",
		EN: "Failed to update cardholder",
		VN: "Không thể cập nhật người giữ thẻ",
	},
	"create_cardholder_failed": {
		CN: "创建持卡人失败",
		EN: "Failed to create cardholder",
		VN: "Không thể tạo người giữ thẻ",
	},
	"update_cardholder_failed": {
		CN: "更新持卡人失败",
		EN: "Failed to update cardholder",
		VN: "Không thể cập nhật người giữ thẻ",
	},
	"duplicate_cardholder": {
		CN: "用户已存在持卡人记录",
		EN: "User already has a cardholder record",
		VN: "Người dùng đã có bản ghi người giữ thẻ",
	},
	"duplicate_contact": {
		CN: "邮箱或手机号已存在",
		EN: "Email or mobile number already exists",
		VN: "Email hoặc số điện thoại đã tồn tại",
	},
	"database_connection_error": {
		CN: "数据库连接失败",
		EN: "Database connection failed",
		VN: "Kết nối cơ sở dữ liệu thất bại",
	},
	"transaction_error": {
		CN: "数据库事务失败",
		EN: "Database transaction failed",
		VN: "Giao dịch cơ sở dữ liệu thất bại",
	},
	"cardholder_not_found": {
		CN: "持卡人记录不存在",
		EN: "Cardholder record not found",
		VN: "Không tìm thấy bản ghi người giữ thẻ",
	},
	"invalid_cardholder_id": {
		CN: "无效的持卡人ID",
		EN: "Invalid cardholder ID",
		VN: "ID người giữ thẻ không hợp lệ",
	},

	// 交易相关消息
	"get_card_history_failed": {
		CN: "获取卡片历史失败",
		EN: "Failed to get card history",
		VN: "Không thể lấy lịch sử thẻ",
	},
	"invalid_start_date_format": {
		CN: "开始日期格式无效",
		EN: "Invalid start date format",
		VN: "Định dạng ngày bắt đầu không hợp lệ",
	},
	"invalid_end_date_format": {
		CN: "结束日期格式无效",
		EN: "Invalid end date format",
		VN: "Định dạng ngày kết thúc không hợp lệ",
	},
	"start_date_after_end_date": {
		CN: "开始日期不能晚于结束日期",
		EN: "Start date cannot be after end date",
		VN: "Ngày bắt đầu không thể sau ngày kết thúc",
	},
	"get_issuing_history_failed": {
		CN: "获取发卡历史列表失败",
		EN: "Failed to get issuing history list",
		VN: "Không thể lấy danh sách lịch sử phát hành",
	},
	"get_recharge_funds_failed": {
		CN: "获取充值卡资金明细列表失败",
		EN: "Failed to get recharge card funds detail list",
		VN: "Không thể lấy danh sách chi tiết quỹ thẻ nạp tiền",
	},
	"get_vcc_trade_failed": {
		CN: "获取VCC交易订单列表失败",
		EN: "Failed to get VCC trade order list",
		VN: "Không thể lấy danh sách đơn hàng giao dịch VCC",
	},
	"get_account_history_failed": {
		CN: "获取账户历史列表失败",
		EN: "Failed to get account history list",
		VN: "Không thể lấy danh sách lịch sử tài khoản",
	},
	"get_fund_transfer_failed": {
		CN: "获取资金调拨明细失败",
		EN: "Failed to get fund transfer details",
		VN: "Không thể lấy chi tiết chuyển khoản",
	},
	"recharge_failed": {
		CN: "转入下单失败",
		EN: "Failed to place recharge order",
		VN: "Không thể đặt lệnh nạp tiền",
	},
	"pre_recharge_failed": {
		CN: "换汇询价失败",
		EN: "Failed to get exchange rate quote",
		VN: "Không thể lấy báo giá tỷ giá",
	},
	"recharge_return_failed": {
		CN: "卡金额退还失败",
		EN: "Failed to return card amount",
		VN: "Không thể hoàn trả số tiền thẻ",
	},

	// 认证相关消息
	"login_success": {
		CN: "登录成功",
		EN: "Login successful",
		VN: "Đăng nhập thành công",
	},
	"login_failed": {
		CN: "登录失败",
		EN: "Login failed",
		VN: "Đăng nhập thất bại",
	},
	"account_disabled": {
		CN: "账号已被禁用",
		EN: "Account has been disabled",
		VN: "Tài khoản đã bị vô hiệu hóa",
	},
	"invalid_credentials": {
		CN: "用户名或密码错误",
		EN: "Invalid username or password",
		VN: "Tên người dùng hoặc mật khẩu không đúng",
	},
	"verification_required": {
		CN: "需要验证",
		EN: "Verification required",
		VN: "Yêu cầu xác minh",
	},
	"verification_failed": {
		CN: "验证失败",
		EN: "Verification failed",
		VN: "Xác minh thất bại",
	},
	"verification_code_sent": {
		CN: "验证码已发送",
		EN: "Verification code has been sent",
		VN: "Mã xác minh đã được gửi",
	},
	"verification_code_invalid": {
		CN: "验证码无效",
		EN: "Invalid verification code",
		VN: "Mã xác minh không hợp lệ",
	},
	"admin_auth_required": {
		CN: "管理员必须启用至少一种验证方式",
		EN: "Admin must enable at least one verification method",
		VN: "Quản trị viên phải bật ít nhất một phương thức xác minh",
	},
	"login_identifier_required": {
		CN: "登录标识符不能为空",
		EN: "Login identifier cannot be empty",
		VN: "Mã định danh đăng nhập không được để trống",
	},
	"pre_login_token_expired": {
		CN: "预登录令牌已过期",
		EN: "Pre-login token has expired",
		VN: "Token đăng nhập trước đã hết hạn",
	},
	"pre_login_token_invalid": {
		CN: "预登录令牌无效",
		EN: "Invalid pre-login token",
		VN: "Token đăng nhập trước không hợp lệ",
	},
	"pre_login_token_required": {
		CN: "需要预登录令牌",
		EN: "Pre-login token is required",
		VN: "Yêu cầu token đăng nhập trước",
	},
	"auth_method_not_enabled": {
		CN: "认证方式未启用",
		EN: "Authentication method is not enabled",
		VN: "Phương thức xác thực chưa được bật",
	},
	"verification_method_required": {
		CN: "需要验证方式",
		EN: "Verification method is required",
		VN: "Yêu cầu phương thức xác minh",
	},

	// 账号相关消息
	"account_create_success": {
		CN: "账号创建成功",
		EN: "Account created successfully",
		VN: "Tạo tài khoản thành công",
	},
	"account_update_success": {
		CN: "账号更新成功",
		EN: "Account updated successfully",
		VN: "Cập nhật tài khoản thành công",
	},
	"account_delete_success": {
		CN: "账号删除成功",
		EN: "Account deleted successfully",
		VN: "Xóa tài khoản thành công",
	},
	"account_not_found": {
		CN: "账号不存在",
		EN: "Account not found",
		VN: "Không tìm thấy tài khoản",
	},
	"account_status_updated": {
		CN: "账号状态更新成功",
		EN: "Account status updated successfully",
		VN: "Cập nhật trạng thái tài khoản thành công",
	},
	"invitation_code_generated": {
		CN: "邀请码生成成功",
		EN: "Invitation code generated successfully",
		VN: "Tạo mã mời thành công",
	},

	// 用户相关消息
	"user_register_success": {
		CN: "用户注册成功",
		EN: "User registered successfully",
		VN: "Đăng ký người dùng thành công",
	},
	"user_register_failed": {
		CN: "用户注册失败",
		EN: "User registration failed",
		VN: "Đăng ký người dùng thất bại",
	},
	"user_login_success": {
		CN: "登录成功",
		EN: "Login successful",
		VN: "Đăng nhập thành công",
	},
	"user_login_failed": {
		CN: "登录失败",
		EN: "Login failed",
		VN: "Đăng nhập thất bại",
	},
	"user_logout_success": {
		CN: "登出成功",
		EN: "Logout successful",
		VN: "Đăng xuất thành công",
	},
	"user_profile_update_success": {
		CN: "用户资料更新成功",
		EN: "User profile updated successfully",
		VN: "Cập nhật hồ sơ người dùng thành công",
	},
	"user_profile_update_failed": {
		CN: "用户资料更新失败",
		EN: "Failed to update user profile",
		VN: "Cập nhật hồ sơ người dùng thất bại",
	},
	"password_change_success": {
		CN: "密码修改成功",
		EN: "Password changed successfully",
		VN: "Đổi mật khẩu thành công",
	},
	"password_change_failed": {
		CN: "密码修改失败",
		EN: "Failed to change password",
		VN: "Đổi mật khẩu thất bại",
	},
	"invalid_password_format": {
		CN: "密码格式不正确",
		EN: "Invalid password format",
		VN: "Định dạng mật khẩu không hợp lệ",
	},
	"verification_code_send_failed": {
		CN: "验证码发送失败",
		EN: "Failed to send verification code",
		VN: "Gửi mã xác minh thất bại",
	},
	"password_reset_success": {
		CN: "密码重置成功",
		EN: "Password reset successful",
		VN: "Đặt lại mật khẩu thành công",
	},
	"password_reset_failed": {
		CN: "密码重置失败",
		EN: "Password reset failed",
		VN: "Đặt lại mật khẩu thất bại",
	},
	"auth_method_exists": {
		CN: "该类型的认证方式已存在",
		EN: "Authentication method of this type already exists",
		VN: "Phương thức xác thực này đã tồn tại",
	},
	"auth_method_create_success": {
		CN: "认证方式创建成功",
		EN: "Authentication method created successfully",
		VN: "Tạo phương thức xác thực thành công",
	},
	"auth_method_update_success": {
		CN: "认证方式更新成功",
		EN: "Authentication method updated successfully",
		VN: "Cập nhật phương thức xác thực thành công",
	},
	"auth_method_update_failed": {
		CN: "认证方式更新失败",
		EN: "Failed to update authentication method",
		VN: "Cập nhật phương thức xác thực thất bại",
	},
	"auth_method_check_failed": {
		CN: "检查认证方式失败",
		EN: "Failed to check authentication method",
		VN: "Kiểm tra phương thức xác thực thất bại",
	},
	"auth_method_create_failed": {
		CN: "创建认证方式失败",
		EN: "Failed to create authentication method",
		VN: "Tạo phương thức xác thực thất bại",
	},
	"get_auth_methods_failed": {
		CN: "获取认证方式失败",
		EN: "Failed to get authentication methods",
		VN: "Không thể lấy phương thức xác thực",
	},
	"get_login_records_failed": {
		CN: "获取登录记录失败",
		EN: "Failed to get login records",
		VN: "Không thể lấy lịch sử đăng nhập",
	},

	// 密码验证相关消息
	"password_too_short": {
		CN: "密码长度必须至少为8个字符",
		EN: "Password must be at least 8 characters long",
		VN: "Mật khẩu phải có ít nhất 8 ký tự",
	},
	"password_missing_letter": {
		CN: "密码必须包含至少一个字母",
		EN: "Password must contain at least one letter",
		VN: "Mật khẩu phải chứa ít nhất một chữ cái",
	},
	"password_missing_number": {
		CN: "密码必须包含至少一个数字",
		EN: "Password must contain at least one number",
		VN: "Mật khẩu phải chứa ít nhất một số",
	},
	"password_missing_special": {
		CN: "密码必须包含至少一个特殊字符(@$!%*#?&)",
		EN: "Password must contain at least one special character(@$!%*#?&)",
		VN: "Mật khẩu phải chứa ít nhất một ký tự đặc biệt(@$!%*#?&)",
	},
	"missing_required_params": {
		CN: "缺少必要参数",
		EN: "Missing required parameters",
		VN: "Thiếu tham số bắt buộc",
	},

	// 矩阵账户相关消息
	"user_info_not_found": {
		CN: "未找到用户信息",
		EN: "User information not found",
		VN: "Không tìm thấy thông tin người dùng",
	},
	"user_role_not_found": {
		CN: "未找到用户角色信息",
		EN: "User role information not found",
		VN: "Không tìm thấy thông tin vai trò người dùng",
	},
	"invalid_matrix_account": {
		CN: "无效的矩阵账户",
		EN: "Invalid matrix account",
		VN: "Tài khoản ma trận không hợp lệ",
	},
	"no_valid_matrix_account": {
		CN: "未找到有效的Matrix账户",
		EN: "No valid Matrix account found",
		VN: "Không tìm thấy tài khoản Matrix hợp lệ",
	},
	"query_matrix_account_failed": {
		CN: "查询Matrix账户信息失败",
		EN: "Failed to query Matrix account information",
		VN: "Không thể truy vấn thông tin tài khoản Matrix",
	},
	"matrix_account_status_abnormal": {
		CN: "Matrix账户状态异常",
		EN: "Matrix account status is abnormal",
		VN: "Trạng thái tài khoản Matrix bất thường",
	},

	// 子账号相关消息
	"invalid_id": {
		CN: "ID错误",
		EN: "Invalid ID",
		VN: "ID không hợp lệ",
	},
	"invalid_permissions_format": {
		CN: "权限格式错误",
		EN: "Invalid permissions format",
		VN: "Định dạng quyền không hợp lệ",
	},
	"update_sub_account_failed": {
		CN: "更新子账号失败",
		EN: "Failed to update sub-account",
		VN: "Cập nhật tài khoản phụ thất bại",
	},
	"sub_account_not_found": {
		CN: "子账号不存在",
		EN: "Sub-account not found",
		VN: "Không tìm thấy tài khoản phụ",
	},
	"invalid_role": {
		CN: "无效的角色",
		EN: "Invalid role",
		VN: "Vai trò không hợp lệ",
	},
	"delete_sub_account_failed": {
		CN: "删除子账号失败",
		EN: "Failed to delete sub-account",
		VN: "Xóa tài khoản phụ thất bại",
	},

	// 账号服务相关消息
	"query_sub_account_failed": {
		CN: "查询子账号失败",
		EN: "Failed to query sub-account",
		VN: "Không thể truy vấn tài khoản phụ",
	},
	"query_master_account_failed": {
		CN: "查询主账号失败",
		EN: "Failed to query master account",
		VN: "Không thể truy vấn tài khoản chính",
	},
	"update_sub_account_status_failed": {
		CN: "更新子账号状态失败",
		EN: "Failed to update sub-account status",
		VN: "Không thể cập nhật trạng thái tài khoản phụ",
	},
	"update_sub_account_login_info_failed": {
		CN: "更新子账号登录信息失败",
		EN: "Failed to update sub-account login info",
		VN: "Không thể cập nhật thông tin đăng nhập tài khoản phụ",
	},
	"get_sub_accounts_failed": {
		CN: "获取子账号列表失败",
		EN: "Failed to get sub-accounts list",
		VN: "Không thể lấy danh sách tài khoản phụ",
	},
	"parse_permissions_failed": {
		CN: "解析权限配置失败",
		EN: "Failed to parse permissions",
		VN: "Không thể phân tích cấu hình quyền",
	},
	"master_account_not_found": {
		CN: "主账号不存在",
		EN: "Master account not found",
		VN: "Không tìm thấy tài khoản chính",
	},
	"master_account_inactive": {
		CN: "主账号状态异常",
		EN: "Master account is inactive",
		VN: "Tài khoản chính không hoạt động",
	},
	"serialize_invitation_data_failed": {
		CN: "序列化邀请码数据失败",
		EN: "Failed to serialize invitation data",
		VN: "Không thể tuần tự hóa dữ liệu mã mời",
	},
	"store_invitation_code_failed": {
		CN: "存储邀请码失败",
		EN: "Failed to store invitation code",
		VN: "Không thể lưu mã mời",
	},
	"invalid_status": {
		CN: "无效的状态值",
		EN: "Invalid status value",
		VN: "Giá trị trạng thái không hợp lệ",
	},

	// 卡费配置相关消息
	"card_fee_config_not_found": {
		CN: "未找到卡类型为 %s、卡形态为 %s、币种为 %s 的卡费配置",
		EN: "Card fee configuration not found for card type %s, form factor %s, and currency %s",
		VN: "Không tìm thấy cấu hình phí thẻ cho loại thẻ %s, hình thức %s và tiền tệ %s",
	},
	"card_fee_config_query_failed": {
		CN: "查询卡费配置失败",
		EN: "Failed to query card fee configuration",
		VN: "Không thể truy vấn cấu hình phí thẻ",
	},
	"card_fee_config_list_failed": {
		CN: "获取卡费配置列表失败",
		EN: "Failed to get card fee configuration list",
		VN: "Không thể lấy danh sách cấu hình phí thẻ",
	},
	"invalid_card_type": {
		CN: "无效的卡类型，必须是 recharge 或 share",
		EN: "Invalid card type, must be recharge or share",
		VN: "Loại thẻ không hợp lệ, phải là recharge hoặc share",
	},
	"invalid_card_form_factor": {
		CN: "无效的卡形态，必须是 standard，premium 或 enterprise",
		EN: "Invalid card form factor, must be standard, premium or enterprise",
		VN: "Hình thức thẻ không hợp lệ, phải là standard, premium hoặc enterprise",
	},
	"invalid_currency": {
		CN: "无效的币种，必须是 USD、EUR、GBP 或 CNH",
		EN: "Invalid currency, must be USD, EUR, GBP or CNH",
		VN: "Tiền tệ không hợp lệ, phải là USD, EUR, GBP hoặc CNH",
	},
	"card_fee_config_create_success": {
		CN: "卡费配置创建成功",
		EN: "Card fee configuration created successfully",
		VN: "Tạo cấu hình phí thẻ thành công",
	},
	"card_fee_config_create_failed": {
		CN: "卡费配置创建失败",
		EN: "Failed to create card fee configuration",
		VN: "Tạo cấu hình phí thẻ thất bại",
	},
	"card_fee_config_update_success": {
		CN: "卡费配置更新成功",
		EN: "Card fee configuration updated successfully",
		VN: "Cập nhật cấu hình phí thẻ thành công",
	},
	"card_fee_config_update_failed": {
		CN: "卡费配置更新失败",
		EN: "Failed to update card fee configuration",
		VN: "Cập nhật cấu hình phí thẻ thất bại",
	},
	"card_fee_config_delete_success": {
		CN: "卡费配置删除成功",
		EN: "Card fee configuration deleted successfully",
		VN: "Xóa cấu hình phí thẻ thành công",
	},
	"card_fee_config_delete_failed": {
		CN: "卡费配置删除失败",
		EN: "Failed to delete card fee configuration",
		VN: "Xóa cấu hình phí thẻ thất bại",
	},
	"exchange_loss_rule_query_success": {
		CN: "汇率损失规则查询成功",
		EN: "Exchange loss rule query succeeded",
		VN: "Truy vấn quy tắc lỗ tỷ giá thành công",
	},
	"exchange_loss_rule_not_found": {
		CN: "未找到汇率损失规则",
		EN: "Exchange loss rule not found",
		VN: "Không tìm thấy quy tắc lỗ tỷ giá",
	},
	"exchange_loss_rule_create_success": {
		CN: "汇率损失规则创建成功",
		EN: "Exchange loss rule created successfully",
		VN: "Tạo quy tắc lỗ tỷ giá thành công",
	},
	"exchange_loss_rule_create_failed": {
		CN: "汇率损失规则创建失败",
		EN: "Failed to create exchange loss rule",
		VN: "Tạo quy tắc lỗ tỷ giá thất bại",
	},
	"exchange_loss_rule_update_success": {
		CN: "汇率损失规则更新成功",
		EN: "Exchange loss rule updated successfully",
		VN: "Cập nhật quy tắc lỗ tỷ giá thành công",
	},
	"exchange_loss_rule_update_failed": {
		CN: "汇率损失规则更新失败",
		EN: "Failed to update exchange loss rule",
		VN: "Cập nhật quy tắc lỗ tỷ giá thất bại",
	},
	"exchange_loss_rule_delete_success": {
		CN: "汇率损失规则删除成功",
		EN: "Exchange loss rule deleted successfully",
		VN: "Xóa quy tắc lỗ tỷ giá thành công",
	},
	"exchange_loss_rule_delete_failed": {
		CN: "汇率损失规则删除失败",
		EN: "Failed to delete exchange loss rule",
		VN: "Xóa quy tắc lỗ tỷ giá thất bại",
	},
	"refund_amount_exceeds_total": {
		CN: "退还金额大于当前卡资金，无法退还",
		EN: "Refund amount exceeds current card funds, cannot refund",
		VN: "Số tiền hoàn trả lớn hơn số dư thẻ hiện tại, không thể hoàn trả",
	},
	// 管理员相关消息
	"CANNOT_TRANSFER_TO_SUB_ACCOUNT": {
		CN: "不允许对子账号转账",
		EN: "Cannot transfer to sub-account",
		VN: "Không được phép chuyển tiền vào tài khoản phụ",
	},
	"create_user_role_failed": {
		CN: "创建用户角色失败",
		EN: "Failed to create user role",
		VN: "Tạo vai trò người dùng thất bại",
	},
	"invalid_request": {
		CN: "无效的请求",
		EN: "Invalid request",
		VN: "Yêu cầu không hợp lệ",
	},
	"get_user_failed": {
		CN: "获取用户信息失败",
		EN: "Failed to get user information",
		VN: "Không thể lấy thông tin người dùng",
	},
	"invalid_user_id": {
		CN: "无效的用户ID",
		EN: "Invalid user ID",
		VN: "ID người dùng không hợp lệ",
	},

	// 新增错误码
	"verify_code_failed": {
		CN: "验证码验证失败",
		EN: "Verification code validation failed",
		VN: "Xác thực mã xác minh thất bại",
	},
	"role_not_found": {
		CN: "角色未找到",
		EN: "Role not found",
		VN: "Không tìm thấy vai trò",
	},
	"delete_user_role_failed": {
		CN: "删除用户角色失败",
		EN: "Failed to delete user role",
		VN: "Xóa vai trò người dùng thất bại",
	},
	"get_user_roles_failed": {
		CN: "获取用户角色失败",
		EN: "Failed to get user roles",
		VN: "Không thể lấy vai trò người dùng",
	},
	"parse_response_failed": {
		CN: "解析响应失败",
		EN: "Failed to parse response",
		VN: "Không thể phân tích phản hồi",
	},
	"get_card_status_failed": {
		CN: "获取卡片状态失败",
		EN: "Failed to get card status",
		VN: "Không thể lấy trạng thái thẻ",
	},
	"update_card_status_failed": {
		CN: "更新卡片状态失败",
		EN: "Failed to update card status",
		VN: "Không thể cập nhật trạng thái thẻ",
	},
	"create_status_history_failed": {
		CN: "创建状态历史记录失败",
		EN: "Failed to create status history",
		VN: "Không thể tạo lịch sử trạng thái",
	},
	"commit_transaction_failed": {
		CN: "提交事务失败",
		EN: "Failed to commit transaction",
		VN: "Không thể cam kết giao dịch",
	},
	"record_transaction_failed": {
		CN: "记录交易失败",
		EN: "Failed to record transaction",
		VN: "Không thể ghi lại giao dịch",
	},
	"invalid_start_time": {
		CN: "无效的开始时间",
		EN: "Invalid start time",
		VN: "Thời gian bắt đầu không hợp lệ",
	},
	"invalid_end_time": {
		CN: "无效的结束时间",
		EN: "Invalid end time",
		VN: "Thời gian kết thúc không hợp lệ",
	},
	"get_card_statistics_failed": {
		CN: "获取卡片统计信息失败",
		EN: "Failed to get card statistics",
		VN: "Không thể lấy thống kê thẻ",
	},
	"get_user_info_failed": {
		CN: "获取用户信息失败",
		EN: "Failed to get user information",
		VN: "Không thể lấy thông tin người dùng",
	},
	"get_member_center_failed": {
		CN: "获取会员中心信息失败",
		EN: "Failed to get member center information",
		VN: "Không thể lấy thông tin trung tâm thành viên",
	},
	"get_card_scenario_failed": {
		CN: "获取卡片场景失败",
		EN: "Failed to get card scenario",
		VN: "Không thể lấy kịch bản thẻ",
	},
	"get_card_bin_range_failed": {
		CN: "获取卡BIN范围失败",
		EN: "Failed to get card BIN range",
		VN: "Không thể lấy phạm vi BIN thẻ",
	},
	"get_channel_list_failed": {
		CN: "获取渠道列表失败",
		EN: "Failed to get channel list",
		VN: "Không thể lấy danh sách kênh",
	},
	"invalid_request_params": {
		CN: "无效的请求参数",
		EN: "Invalid request parameters",
		VN: "Tham số yêu cầu không hợp lệ",
	},
	"create_card_holder_failed": {
		CN: "创建持卡人失败",
		EN: "Failed to create card holder",
		VN: "Không thể tạo người giữ thẻ",
	},
	"invalid_json": {
		CN: "无效的JSON格式",
		EN: "Invalid JSON format",
		VN: "Định dạng JSON không hợp lệ",
	},
	"create_email_util_failed": {
		CN: "创建邮件工具失败",
		EN: "Failed to create email utility",
		VN: "Không thể tạo tiện ích email",
	},
	"send_verification_code_failed": {
		CN: "发送验证码失败",
		EN: "Failed to send verification code",
		VN: "Không thể gửi mã xác minh",
	},
	"NO_PERMISSION": {
		CN: "没有权限",
		EN: "No permission",
		VN: "Không có quyền",
	},
	"invalid_code": {
		CN: "验证码无效",
		EN: "Invalid verification code",
		VN: "Mã xác thực không hợp lệ",
	},
	"user_id_required": {
		CN: "用户ID不能为空",
		EN: "User ID is required",
		VN: "ID người dùng không được để trống",
	},
	"cannot_delete_default_rule": {
		CN: "不能删除默认规则",
		EN: "Cannot delete default rule",
		VN: "Không thể xóa quy tắc mặc định",
	},
	"exchange_loss_rule_count_failed": {
		CN: "获取汇损规则总数失败",
		EN: "Failed to get exchange loss rule count",
		VN: "Không thể lấy tổng số quy tắc lỗ tỷ giá",
	},
	"get_users_failed": {
		CN: "获取用户信息失败",
		EN: "Failed to get user information",
		VN: "Không thể lấy thông tin người dùng",
	},
	"exchange_loss_rule_list_success": {
		CN: "获取汇损规则列表成功",
		EN: "Successfully retrieved exchange loss rule list",
		VN: "Lấy danh sách quy tắc lỗ tỷ giá thành công",
	},
	"create_sms_util_failed": {
		CN: "创建短信工具失败",
		EN: "Failed to create SMS utility",
		VN: "Không thể tạo tiện ích SMS",
	},
	"unsupported_auth_method": {
		CN: "不支持的认证方式",
		EN: "Unsupported authentication method",
		VN: "Phương thức xác thực không được hỗ trợ",
	},
	"empty_request": {
		CN: "请求体不能为空",
		EN: "Request body cannot be empty",
		VN: "Nội dung yêu cầu không được để trống",
	},
	"get_auth_method_failed": {
		CN: "获取认证方式失败",
		EN: "Failed to get authentication method",
		VN: "Không thể lấy phương thức xác thực",
	},
	"get_user_matrix_account_failed": {
		CN: "获取用户矩阵账户失败",
		EN: "Failed to get user matrix account",
		VN: "Không thể lấy tài khoản ma trận người dùng",
	},
	"INVALID_PARAMS": {
		CN: "无效的参数",
		EN: "Invalid parameters",
		VN: "Tham số không hợp lệ",
	},
	"INTERNAL_ERROR": {
		CN: "服务器内部错误",
		EN: "Internal server error",
		VN: "Lỗi máy chủ nội bộ",
	},
	"MATRIX_ACCOUNT_NOT_FOUND": {
		CN: "未找到有效的矩阵账户",
		EN: "Matrix account not found",
		VN: "Không tìm thấy tài khoản ma trận",
	},
	"JSON_FORMAT_ERROR": {
		CN: "JSON格式错误",
		EN: "JSON format error",
		VN: "Lỗi định dạng JSON",
	},
	"TRANSFER_FAILED": {
		CN: "转账失败",
		EN: "Transfer failed",
		VN: "Chuyển khoản thất bại",
	},
	"PARSE_RESULT_FAILED": {
		CN: "解析结果失败",
		EN: "Failed to parse result",
		VN: "Không thể phân tích kết quả",
	},
	"UPDATE_TOTAL_TRANSFER_AMOUNT_FAILED": {
		CN: "更新总转账金额失败",
		EN: "Failed to update total transfer amount",
		VN: "Không thể cập nhật tổng số tiền chuyển khoản",
	},
	"UPDATE_MASTER_ACCOUNT_BALANCE_FAILED": {
		CN: "更新主账户余额失败",
		EN: "Failed to update master account balance",
		VN: "Không thể cập nhật số dư tài khoản chính",
	},
	"CREATE_TRANSFER_RECORD_FAILED": {
		CN: "创建转账记录失败",
		EN: "Failed to create transfer record",
		VN: "Không thể tạo bản ghi chuyển khoản",
	},
	"TRANSACTION_COMMIT_FAILED": {
		CN: "事务提交失败",
		EN: "Transaction commit failed",
		VN: "Không thể cam kết giao dịch",
	},
	"TRANSACTION_START_FAILED": {
		CN: "事务启动失败",
		EN: "Failed to start transaction",
		VN: "Không thể bắt đầu giao dịch",
	},
	"DATABASE_ERROR": {
		CN: "数据库错误",
		EN: "Database error",
		VN: "Lỗi cơ sở dữ liệu",
	},
	"ACCOUNT_NOT_FOUND": {
		CN: "未找到账户信息",
		EN: "Account not found",
		VN: "Không tìm thấy thông tin tài khoản",
	},
	"COUNT_ERROR": {
		CN: "获取记录数失败",
		EN: "Failed to get record count",
		VN: "Không thể lấy số lượng bản ghi",
	},
	"QUERY_ERROR": {
		CN: "查询失败",
		EN: "Query failed",
		VN: "Truy vấn thất bại",
	},
	"GET_ACCOUNT_LIST_FAILED": {
		CN: "获取账户列表失败",
		EN: "Failed to get account list",
		VN: "Không thể lấy danh sách tài khoản",
	},
	"MATRIX_ACCOUNT_REQUIRED": {
		CN: "matrix账户不能为空",
		EN: "Matrix account is required",
		VN: "Tài khoản ma trận không được để trống",
	},
	"GET_MATRIX_ACCOUNT_LIST_FAILED": {
		CN: "获取矩阵账户列表失败",
		EN: "Failed to get matrix account list",
		VN: "Không thể lấy danh sách tài khoản ma trận",
	},

	// 余额相关消息
	"insufficient_master_balance": {
		CN: "主账号余额不足，无法完成操作",
		EN: "Operation cannot be completed due to insufficient master account balance",
		VN: "Không thể hoàn thành giao dịch do số dư tài khoản chính không đủ",
	},
	"insufficient_sub_balance": {
		CN: "子账号余额不足",
		EN: "Insufficient sub-account balance",
		VN: "Số dư tài khoản phụ không đủ",
	},
	"sub_account_not_belong_to_master": {
		CN: "该子账号不属于您的主账号，操作被拒绝",
		EN: "This sub-account does not belong to your master account. Operation denied.",
		VN: "Tài khoản phụ này không thuộc tài khoản chính của bạn. Từ chối thao tác.",
	},
	"insufficient_balance": {
		CN: "账户余额不足",
		EN: "Insufficient account balance",
		VN: "Số dư tài khoản không đủ",
	},

	"allocate_balance_failed": {
		CN: "资金划拨操作失败，请检查账户余额和操作权限",
		EN: "Balance allocation failed. Please check account balance and operation permissions",
		VN: "Phân bổ số dư thất bại. Vui lòng kiểm tra số dư tài khoản và quyền thao tác",
	},

	// 资金转入转出相关消息
	"balance_transfer_in": {
		CN: "资金转入通知",
		EN: "Balance Transfer In Notification",
		VN: "Thông báo chuyển tiền vào",
	},
	"balance_transfer_out": {
		CN: "资金转出通知",
		EN: "Balance Transfer Out Notification",
		VN: "Thông báo chuyển tiền ra",
	},
	"balance_transfer_content": {
		CN: "您的账户(%s)%s%sUSD，交易流水号：%s，当前余额：%sUSD",
		EN: "Your account (%s) %s %s USD, Transaction ID: %s, Current Balance: %s USD",
		VN: "Tài khoản của bạn (%s) %s %s USD, Mã giao dịch: %s, Số dư hiện tại: %s USD",
	},
	"balance_transfer_in_operation": {
		CN: "转入",
		EN: "transferred in",
		VN: "chuyển vào",
	},
	"balance_transfer_out_operation": {
		CN: "转出",
		EN: "transferred out",
		VN: "chuyển ra",
	},
	"get_sub_account_failed": {
		CN: "获取子账号信息失败",
		EN: "Failed to get sub-account information",
		VN: "Không thể lấy thông tin tài khoản phụ",
	},
	"consume_failed": {
		CN: "子账号消费操作失败",
		EN: "Sub-account consumption operation failed",
		VN: "Thao tác tiêu thụ tài khoản phụ thất bại",
	},

	// 收款明细相关消息
	"count_records_failed": {
		CN: "获取记录数失败",
		EN: "Failed to count records",
		VN: "Không thể đếm bản ghi",
	},
	"query_records_failed": {
		CN: "查询记录失败",
		EN: "Failed to query records",
		VN: "Không thể truy vấn bản ghi",
	},
	"get_total_amount_failed": {
		CN: "获取总金额失败",
		EN: "Failed to get total amount",
		VN: "Không thể lấy tổng số tiền",
	},
	"get_total_in_amount_failed": {
		CN: "获取转入金额失败",
		EN: "Failed to get total in amount",
		VN: "Không thể lấy tổng số tiền chuyển vào",
	},
	"get_total_out_amount_failed": {
		CN: "获取转出金额失败",
		EN: "Failed to get total out amount",
		VN: "Không thể lấy tổng số tiền chuyển ra",
	},
	"get_success_count_failed": {
		CN: "获取成功记录数失败",
		EN: "Failed to get success count",
		VN: "Không thể lấy số lượng thành công",
	},
	"get_failed_count_failed": {
		CN: "获取失败记录数失败",
		EN: "Failed to get failed count",
		VN: "Không thể lấy số lượng thất bại",
	},
	"get_pending_count_failed": {
		CN: "获取待处理记录数失败",
		EN: "Failed to get pending count",
		VN: "Không thể lấy số lượng đang chờ",
	},
	"get_total_records_failed": {
		CN: "获取总记录数失败",
		EN: "Failed to get total records",
		VN: "Không thể lấy tổng số bản ghi",
	},
	"get_daily_stats_failed": {
		CN: "获取每日统计失败",
		EN: "Failed to get daily statistics",
		VN: "Không thể lấy thống kê hàng ngày",
	},
	"get_currency_stats_failed": {
		CN: "获取货币统计失败",
		EN: "Failed to get currency statistics",
		VN: "Không thể lấy thống kê tiền tệ",
	},
	"record_id_required": {
		CN: "记录ID不能为空",
		EN: "Record ID is required",
		VN: "ID bản ghi không được để trống",
	},
	"record_not_found": {
		CN: "记录不存在",
		EN: "Record not found",
		VN: "Không tìm thấy bản ghi",
	},
	"query_record_failed": {
		CN: "查询记录详情失败",
		EN: "Failed to query record details",
		VN: "Không thể truy vấn chi tiết bản ghi",
	},
	"withdraw_failed": {
		CN: "卡片提现失败",
		EN: "Failed to withdraw from card",
		VN: "Không thể rút tiền từ thẻ",
	},
	"enable_card_failed": {
		CN: "解冻卡片失败",
		EN: "Failed to enable card",
		VN: "Không thể mở khóa thẻ",
	},
	"get_verification_code_failed": {
		CN: "获取验证码列表失败",
		EN: "Failed to get verification code list",
		VN: "Không thể lấy mã xác minh",
	},
	"NO_MATRIX_TRANSFER_PERMISSION": {
		CN: "无矩阵转账权限",
		EN: "No matrix transfer permission",
		VN: "Không có quyền chuyển khoản ma trận",
	},
	"NOT_HLPAY_PLATFORM": {
		CN: "该账户不是HlPay平台账户",
		EN: "This account is not a HlPay platform account",
		VN: "Tài khoản này không phải là tài khoản nền tảng HlPay",
	},
	"NO_TRANSFER_PERMISSION": {
		CN: "该用户没有转账权限",
		EN: "The user does not have transfer permission",
		VN: "Người dùng không có quyền chuyển khoản",
	},
	"GET_AVAILABLE_BALANCE_FAILED": {
		CN: "获取可划拨余额失败",
		EN: "Failed to get available balance",
		VN: "Không thể lấy số dư khả dụng",
	},
	"HLPAY_ACCOUNT_BALANCE_NOT_FOUND": {
		CN: "未找到账户余额记录",
		EN: "Account balance record not found",
		VN: "Không tìm thấy bản ghi số dư tài khoản",
	},
	"HLPAY_SERVICE_UNAVAILABLE": {
		CN: "HlPay服务暂时不可用，请稍后重试",
		EN: "HlPay service is temporarily unavailable, please try again later",
		VN: "Dịch vụ HlPay tạm thời không khả dụng, vui lòng thử lại sau",
	},
	"hlpay_get_card_bin_failed": {
		CN: "HL支付获取卡BIN信息失败",
		EN: "Failed to get card BIN information from HL Pay",
		VN: "Không thể lấy thông tin BIN thẻ từ HL Pay",
	},
	"photonpay_get_card_bin_failed": {
		CN: "光子支付获取卡BIN信息失败",
		EN: "Failed to get card BIN information from PhotonPay",
		VN: "Không thể lấy thông tin BIN thẻ từ PhotonPay",
	},
	"platform_info_not_found": {
		CN: "未找到平台信息",
		EN: "Platform information not found",
		VN: "Không tìm thấy thông tin nền tảng",
	},
	"unsupported_platform_type": {
		CN: "不支持的平台类型",
		EN: "Unsupported platform type",
		VN: "Loại nền tảng không được hỗ trợ",
	},

	// 谷歌验证器相关消息
	"ga_already_bound": {
		CN: "谷歌验证器已绑定",
		EN: "Google Authenticator is already bound",
		VN: "Google Authenticator đã được liên kết",
	},
	"ga_not_bound": {
		CN: "谷歌验证器未绑定",
		EN: "Google Authenticator is not bound",
		VN: "Google Authenticator chưa được liên kết",
	},
	"bind_ga_failed": {
		CN: "绑定谷歌验证器失败",
		EN: "Failed to bind Google Authenticator",
		VN: "Liên kết Google Authenticator thất bại",
	},
	"unbind_ga_failed": {
		CN: "解绑谷歌验证器失败",
		EN: "Failed to unbind Google Authenticator",
		VN: "Hủy liên kết Google Authenticator thất bại",
	},
	"verify_ga_failed": {
		CN: "验证谷歌验证器失败",
		EN: "Failed to verify Google Authenticator",
		VN: "Xác minh Google Authenticator thất bại",
	},
	"get_ga_qrcode_failed": {
		CN: "获取谷歌验证器二维码失败",
		EN: "Failed to get Google Authenticator QR code",
		VN: "Không thể lấy mã QR Google Authenticator",
	},
	"check_ga_status_failed": {
		CN: "检查谷歌验证器状态失败",
		EN: "Failed to check Google Authenticator status",
		VN: "Kiểm tra trạng thái Google Authenticator thất bại",
	},
	"store_secret_failed": {
		CN: "存储密钥失败",
		EN: "Failed to store secret",
		VN: "Lưu trữ khóa bí mật thất bại",
	},
	"secret_expired_or_not_found": {
		CN: "密钥已过期或未找到",
		EN: "Secret has expired or not found",
		VN: "Khóa bí mật đã hết hạn hoặc không tìm thấy",
	},
	"invalid_ga_code": {
		CN: "谷歌验证器验证码无效",
		EN: "Invalid Google Authenticator code",
		VN: "Mã Google Authenticator không hợp lệ",
	},
	"ga_unbound": {
		CN: "谷歌验证器已解绑",
		EN: "Google Authenticator has been unbound",
		VN: "Google Authenticator đã được hủy liên kết",
	},
	"platform_parameter_required": {
		CN: "平台参数不能为空",
		EN: "Platform parameter is required",
		VN: "Tham số nền tảng không được để trống",
	},
	"card_bin_parameter_required": {
		CN: "卡BIN参数不能为空",
		EN: "Card BIN parameter is required",
		VN: "Tham số BIN thẻ không được để trống",
	},
	"both_platforms_failed": {
		CN: "两个平台查询都失败",
		EN: "Both platforms query failed",
		VN: "Cả hai nền tảng đều truy vấn thất bại",
	},
	"photonpay_get_card_list_failed": {
		CN: "光子支付获取卡列表失败",
		EN: "Failed to get card list from PhotonPay",
		VN: "Không thể lấy danh sách thẻ từ PhotonPay",
	},
	"hlpay_get_card_list_failed": {
		CN: "HL支付获取卡列表失败",
		EN: "Failed to get card list from HL Pay",
		VN: "Không thể lấy danh sách thẻ từ HL Pay",
	},
	"get_transaction_record_success": {
		CN: "获取交易记录成功",
		EN: "Get transaction record successfully",
		VN: "Lấy bản ghi giao dịch thành công",
	},
	"get_transaction_record_failed": {
		CN: "获取交易记录失败",
		EN: "Failed to get transaction record",
		VN: "Không thể lấy bản ghi giao dịch",
	},
	"transaction_not_found": {
		CN: "交易记录不存在",
		EN: "Transaction record not found",
		VN: "Không tìm thấy bản ghi giao dịch",
	},
	// 卡列表控制器相关消息
	"get_user_cards_failed": {
		CN: "获取用户卡信息失败",
		EN: "Failed to get user card information",
		VN: "Không thể lấy thông tin thẻ người dùng",
	},
	"invalid_token_claims": {
		CN: "令牌声明无效",
		EN: "Invalid token claims",
		VN: "Tuyên bố token không hợp lệ",
	},
	"unauthorized_access": {
		CN: "未授权访问",
		EN: "Unauthorized access",
		VN: "Truy cập trái phép",
	},

	// 部门管理相关消息
	"DEPARTMENT_CODE_EXISTS": {
		CN: "部门编码已存在",
		EN: "Department code already exists",
		VN: "Mã phòng ban đã tồn tại",
	},
	"DEPARTMENT_NOT_FOUND": {
		CN: "部门不存在",
		EN: "Department not found",
		VN: "Không tìm thấy phòng ban",
	},
	"DEPARTMENT_HAS_USERS": {
		CN: "部门下还有用户，无法删除",
		EN: "Department has users and cannot be deleted",
		VN: "Phòng ban có người dùng và không thể xóa",
	},
	"DEPARTMENT_USER_NOT_FOUND": {
		CN: "部门用户关联不存在",
		EN: "Department user association not found",
		VN: "Không tìm thấy liên kết người dùng phòng ban",
	},
	"USER_ALREADY_IN_DEPARTMENT": {
		CN: "用户已在该部门",
		EN: "User is already in this department",
		VN: "Người dùng đã ở trong phòng ban này",
	},
	"INVALID_JOIN_DATE_FORMAT": {
		CN: "加入日期格式错误",
		EN: "Invalid join date format",
		VN: "Định dạng ngày tham gia không hợp lệ",
	},
	"INVALID_LEAVE_DATE_FORMAT": {
		CN: "离开日期格式错误",
		EN: "Invalid leave date format",
		VN: "Định dạng ngày rời đi không hợp lệ",
	},
	"TARGET_DEPARTMENT_NOT_FOUND": {
		CN: "目标部门不存在",
		EN: "Target department not found",
		VN: "Không tìm thấy phòng ban đích",
	},
	"INVALID_DEPARTMENT_ID": {
		CN: "无效的部门ID",
		EN: "Invalid department ID",
		VN: "ID phòng ban không hợp lệ",
	},
	"INVALID_DEPARTMENT_USER_ID": {
		CN: "无效的部门用户关联ID",
		EN: "Invalid department user association ID",
		VN: "ID liên kết người dùng phòng ban không hợp lệ",
	},
	"CREATE_DEPARTMENT_FAILED": {
		CN: "创建部门失败",
		EN: "Failed to create department",
		VN: "Tạo phòng ban thất bại",
	},
	"UPDATE_DEPARTMENT_FAILED": {
		CN: "更新部门失败",
		EN: "Failed to update department",
		VN: "Cập nhật phòng ban thất bại",
	},
	"DELETE_DEPARTMENT_FAILED": {
		CN: "删除部门失败",
		EN: "Failed to delete department",
		VN: "Xóa phòng ban thất bại",
	},
	"GET_DEPARTMENT_LIST_FAILED": {
		CN: "获取部门列表失败",
		EN: "Failed to get department list",
		VN: "Không thể lấy danh sách phòng ban",
	},
	"CREATE_DEPARTMENT_USER_FAILED": {
		CN: "创建部门用户关联失败",
		EN: "Failed to create department user association",
		VN: "Tạo liên kết người dùng phòng ban thất bại",
	},
	"UPDATE_DEPARTMENT_USER_FAILED": {
		CN: "更新部门用户关联失败",
		EN: "Failed to update department user association",
		VN: "Cập nhật liên kết người dùng phòng ban thất bại",
	},
	"DELETE_DEPARTMENT_USER_FAILED": {
		CN: "删除部门用户关联失败",
		EN: "Failed to delete department user association",
		VN: "Xóa liên kết người dùng phòng ban thất bại",
	},
	"GET_DEPARTMENT_USER_LIST_FAILED": {
		CN: "获取部门用户列表失败",
		EN: "Failed to get department user list",
		VN: "Không thể lấy danh sách người dùng phòng ban",
	},
	"GET_USER_DEPARTMENT_HISTORY_FAILED": {
		CN: "获取用户部门历史失败",
		EN: "Failed to get user department history",
		VN: "Không thể lấy lịch sử phòng ban người dùng",
	},
	"TRANSFER_DEPARTMENT_USER_FAILED": {
		CN: "用户部门更换失败",
		EN: "Failed to transfer user department",
		VN: "Chuyển đổi phòng ban người dùng thất bại",
	},
	"INVALID_QUERY_PARAMS": {
		CN: "无效的查询参数",
		EN: "Invalid query parameters",
		VN: "Tham số truy vấn không hợp lệ",
	},
	"API_CALL_ERROR": {
		CN: "API调用失败",
		EN: "API call failed",
		VN: "Gọi API thất bại",
	},

	// 交易类型翻译
	"transaction_type_auth": {
		CN: "消费",
		EN: "auth",
		VN: "Tiêu dùng",
	},
	"transaction_type_corrective_auth": {
		CN: "纠正授权",
		EN: "corrective_auth",
		VN: "Ủy quyền sửa chữa",
	},
	"transaction_type_verification": {
		CN: "验证",
		EN: "verification",
		VN: "Xác minh",
	},
	"transaction_type_void": {
		CN: "撤销",
		EN: "void",
		VN: "Hủy bỏ",
	},
	"transaction_type_refund": {
		CN: "退款",
		EN: "refund",
		VN: "Hoàn tiền",
	},
	"transaction_type_corrective_refund": {
		CN: "校正退款",
		EN: "corrective_refund",
		VN: "Hoàn tiền sửa chữa",
	},
	"transaction_type_recharge": {
		CN: "转入",
		EN: "recharge",
		VN: "Chuyển vào",
	},
	"transaction_type_recharge_return": {
		CN: "卡金额退还",
		EN: "recharge_return",
		VN: "Hoàn trả số tiền thẻ",
	},
	"transaction_type_discard_recharge_return": {
		CN: "销卡退回",
		EN: "discard_recharge_return",
		VN: "Hoàn trả thẻ hủy",
	},
	"transaction_type_service_fee": {
		CN: "服务费",
		EN: "service_fee",
		VN: "Phí dịch vụ",
	},
	"transaction_type_refund_reversal": {
		CN: "退款撤销",
		EN: "refund_reversal",
		VN: "Hủy bỏ hoàn tiền",
	},
	"transaction_type_fund_in": {
		CN: "汇入",
		EN: "fund_in",
		VN: "Chuyển tiền vào",
	},
	"transaction_type_atm_inquiry": {
		CN: "ATM查询",
		EN: "atm_inquiry",
		VN: "Truy vấn ATM",
	},
	"transaction_type_atm_withdrawals": {
		CN: "ATM提现",
		EN: "atm_withdrawals",
		VN: "Rút tiền ATM",
	},
	"transaction_type_atm_inquiry_failed_return": {
		CN: "ATM查询失败退回",
		EN: "atm_inquiry_failed_return",
		VN: "Hoàn trả truy vấn ATM thất bại",
	},
	"transaction_type_atm_withdrawals_failed_return": {
		CN: "ATM提现失败退回",
		EN: "atm_withdrawals_failed_return",
		VN: "Hoàn trả rút tiền ATM thất bại",
	},

	// 交易状态翻译
	"status_pending": {
		CN: "待处理",
		EN: "pending",
		VN: "Đang chờ",
	},
	"status_authorized": {
		CN: "已授权",
		EN: "authorized",
		VN: "Đã ủy quyền",
	},
	"status_succeed": {
		CN: "成功",
		EN: "succeed",
		VN: "Thành công",
	},
	"status_failed": {
		CN: "失败",
		EN: "failed",
		VN: "Thất bại",
	},
	"status_void": {
		CN: "已撤销",
		EN: "void",
		VN: "Đã hủy",
	},
	"status_processing": {
		CN: "处理中",
		EN: "processing",
		VN: "Đang xử lý",
	},

	// 卡类型翻译
	"card_type_recharge": {
		CN: "常规卡",
		EN: "recharge",
		VN: "Thẻ thường",
	},
	"card_type_share": {
		CN: "共享卡",
		EN: "share",
		VN: "Thẻ chia sẻ",
	},

	// 卡形态翻译
	"card_form_factor_virtual_card": {
		CN: "虚拟卡",
		EN: "virtual_card",
		VN: "Thẻ ảo",
	},
	"card_form_factor_physical_card": {
		CN: "实体卡",
		EN: "physical_card",
		VN: "Thẻ vật lý",
	},

	// 海连平台交易状态翻译
	"hlpay_status_waiting": {
		CN: "处理中",
		EN: "Waiting",
		VN: "Đang xử lý",
	},
	"hlpay_status_pending": {
		CN: "处理中",
		EN: "Pending",
		VN: "Đang xử lý",
	},
	"hlpay_status_closed": {
		CN: "已完成",
		EN: "Closed",
		VN: "Đã hoàn thành",
	},
	"hlpay_status_failed": {
		CN: "交易失败",
		EN: "Failed",
		VN: "Giao dịch thất bại",
	},

	// 海连平台交易类型翻译
	"hlpay_transaction_type_consumption": {
		CN: "消费",
		EN: "Consumption",
		VN: "Tiêu dùng",
	},
	"hlpay_transaction_type_transfer_in": {
		CN: "转入",
		EN: "TransferIn",
		VN: "Chuyển vào",
	},
	"hlpay_transaction_type_transfer_out": {
		CN: "转出",
		EN: "TransferOut",
		VN: "Chuyển ra",
	},
	"hlpay_transaction_type_credit": {
		CN: "授权",
		EN: "Credit",
		VN: "Ủy quyền",
	},
	"hlpay_transaction_type_refund": {
		CN: "退款",
		EN: "Refund",
		VN: "Hoàn tiền",
	},
	"hlpay_transaction_type_reversal": {
		CN: "撤销",
		EN: "Reversal",
		VN: "Hủy bỏ",
	},
}

// 通知相关消息
var (
	// 创建通知
	MsgNotificationCreateSuccess = Message{
		CN: "创建成功",
		EN: "Created successfully",
		VN: "Tạo thành công",
	}
	MsgNotificationCreateFailed = Message{
		CN: "创建失败",
		EN: "Failed to create",
		VN: "Tạo thất bại",
	}
	MsgNotificationInvalidParams = Message{
		CN: "参数错误",
		EN: "Invalid parameters",
		VN: "Tham số không hợp lệ",
	}

	// 查询通知
	MsgNotificationQueryFailed = Message{
		CN: "查询失败",
		EN: "Query failed",
		VN: "Truy vấn thất bại",
	}

	// 标记已读
	MsgNotificationMarkReadSuccess = Message{
		CN: "已读",
		EN: "Marked as read",
		VN: "Đã đọc",
	}
	MsgNotificationMarkReadFailed = Message{
		CN: "操作失败",
		EN: "Operation failed",
		VN: "Thao tác thất bại",
	}

	// WebSocket相关
	MsgWebSocketInvalidUserID = Message{
		CN: "无效的用户ID",
		EN: "Invalid user ID",
		VN: "ID người dùng không hợp lệ",
	}

	// 查询消息类型
	MsgNotificationTypeQuerySuccess = Message{
		CN: "查询消息类型成功",
		EN: "Query notification types success",
		VN: "Truy vấn loại thông báo thành công",
	}
	MsgNotificationTypeQueryFailed = Message{
		CN: "查询消息类型失败",
		EN: "Query notification types failed",
		VN: "Truy vấn loại thông báo thất bại",
	}
)

// SelectLang 根据 Accept-Language 选择消息
func SelectLang(m Message, lang string) string {
	switch strings.ToUpper(lang) {
	case "EN":
		return m.EN
	case "VN":
		return m.VN
	case "CN":
		return m.CN
	default:
		return m.CN
	}
}
